---
title: cls1502Transfer
summary: API reference for cls1502Transfer.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Claim
reference_type: embedded
---

# cls1502Transfer

`cls1502Transfer` owns the DCBS 1502 transfer-file record for a claim: it validates the claim ID and filing reason, generates the record's key through the BOF DataPortal sequence mechanism rather than its own declared `CreateSQL`, and exposes two static list-retrieval helpers used to drive the transfer sweep (see [DCBS 1502 transfer handling](../../operations/1502-transfer.md)).

## Purpose
- Persists a single DCBS 1502 transfer record across its full lifecycle (create, insert, update to processed, delete) ([SQL-004](../../sql/SQL-004.md), [SQL-037](../../sql/SQL-037.md), [SQL-052](../../sql/SQL-052.md)).
- Enforces that the claim ID is valid ([BR-001](../../business-rules.md#br-001-1502-transfer-claim-id-required)) and that a filing reason is present ([BR-002](../../business-rules.md#br-002-1502-transfer-filing-reason-required)) before save.
- Provides `GetTransferList()` and `GetUnprocessedTransferList()` as static-style entry points for retrieving unprocessed transfers, used by `cls1502TransferList`.

## Context
- Namespace: `SAIF.Business.Claim`
- Assembly/package: `SAIF.Business.Claim.dll`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `GetTransferList` | `Public Shared Function GetTransferList(inClaimId As Decimal) As DataTable` | Retrieves unprocessed transfer rows for a specific claim ([SQL-009](../../sql/SQL-009.md)). |
| `GetUnprocessedTransferList` | `Public Shared Function GetUnprocessedTransferList() As DataTable` | Retrieves all unprocessed transfer rows across claims, ordered by file name, for the transfer sweep ([SQL-010](../../sql/SQL-010.md)). |
| `Criteria.CreateSQL` | `ReadOnly Property CreateSQL As String` | Declares the sequence-read SQL ([SQL-001](../../sql/SQL-001.md)), though `Create()` actually obtains the key via `DataPortalInfo.GetNextSeqNum` instead.* |
| `Criteria.InsertSQL` | `ReadOnly Property InsertSQL As String` | Supplies the INSERT statement executed in `BeforeInsert` ([SQL-004](../../sql/SQL-004.md)). |
| `Criteria.UpdateSQL` | `ReadOnly Property UpdateSQL As String` | Supplies the processed-date UPDATE statement, the library's only schema-qualified statement ([SQL-037](../../sql/SQL-037.md)). |
| `Criteria.DeleteSQL` | `ReadOnly Property DeleteSQL As String` | Supplies the DELETE statement keyed by FileId and ClaimId ([SQL-052](../../sql/SQL-052.md)). |
| `ValidClaimID` | `Public Function ValidClaimID() As Boolean` (RuleData) | Enforces [BR-001](../../business-rules.md#br-001-1502-transfer-claim-id-required); fails when `ClaimID = 0`. |
| `ValidFilingReason` | `Public Function ValidFilingReason() As Boolean` (RuleData) | Enforces [BR-002](../../business-rules.md#br-002-1502-transfer-filing-reason-required); fails when no filing reason code is set. |

## Behavioral notes
- The rule ID `cls1502Transfer01` is reused for both `ValidClaimID` and `ValidFilingReason`, which is likely a copy/paste defect that could make broken-rule messages ambiguous.*
- Retrieval is not implemented on this class's own `Criteria` (retrieval is delegated to `cls1502TransferList` and the static list functions).*

## Constraints and usage notes
- Callers must supply a non-zero `ClaimID` and a filing-reason code before saving, or the save is blocked by broken rules.
- The UPDATE statement is schema-qualified with `CLM_DBA` while the INSERT/DELETE/SELECT statements against the same table are not — an inconsistency to be aware of when reasoning about deployment environments.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Library index](../../index.md)
- [API reference index](../index.md)
- [Overview](../../overview.md)
- [Architecture](../../architecture.md)
- [Dependencies](../../dependencies.md)
- [Operations and processes](../../operations-processes.md)
- [Business rules](../../business-rules.md)
- [Database tables](../../database-tables.md)
- [SQL catalog](../../sql/index.md)

## Sources
- SAIF.Business.Claim/cls1502Transfer.vb
